/**
 *   月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符，
 *   年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
 *   例子：
 *   "yyyy-MM-dd hh:mm:ss.S" ==> 2006-07-02 08:09:04.423
 *   "yyyy-M-d h:m:s.S"      ==> 2006-7-2 8:9:4.18
 */
export const dateFormat = (date, format) => {
    if (date === 0) {
        return "";
    }
    date = Number(date);
    date = new Date(date);

    var map = {
        M: date.getMonth() + 1, //月份
        d: date.getDate(), //日
        h: date.getHours(), //小时
        m: date.getMinutes(), //分
        s: date.getSeconds(), //秒
        q: Math.floor((date.getMonth() + 3) / 3), //季度
        S: date.getMilliseconds() //毫秒
    };
    format = format.replace(/([yMdhmsqS])+/g, function(all, t) {
        var v = map[t];
        if (v !== undefined) {
            if (all.length > 1) {
                v = "0" + v;
                v = v.substr(v.length - 2);
            }
            return v;
        } else if (t === "y") {
            return (date.getFullYear() + "").substr(4 - all.length);
        }
        return all;
    });
    return format;
};

// 对象深拷贝
export const deepCopy = obj => {
    if (typeof obj != "object") {
        return obj;
    }
    if (obj === null) {
        return obj;
    }
    var newobj = {};
    for (var attr in obj) {
        newobj[attr] = deepCopy(obj[attr]);
    }
    return newobj;
};
